empezando_con_mysqlfandomcom_es-20200214-history
COMANDOS BÁSICOS
A continuación se muestra una lista con los comandos básicos son necesarios para la utilización de MySQL: * Crear una base de datos: create database databasename; * Listar todas las base de datos en el servidor: show databases; * Cambiar a una base de datos: use name; * Ver todas las tablas de una base de datos: show tables; * Ver los formatos de campo de la base de datos: describe name; * Eliminar una base de datos: drop database name; * Eliminar una tabla de la base de datos: drop table name; * Devolver todos los registros de una tabla: SELECT * FROM name; * Devolver las columnas y la información de la columna correspondiente a la tabla designada: show columns from name; * Mostrar ciertas filas seleccionadas con el valor “lo que sea”: SELECT * FROM name WHERE name = “whatever”; * Mostrar todos los registros que contengan el nombre “Bob” AND el número de teléfono ‘3444444’: SELECT * FROM name WHERE name = “Bob” AND phone_number = ‘3444444’; * Mostrar todos los registros que contienen el nombre “Bob” AND el número de teléfono ‘3444444’ ordenados por el campo “phone_number”: SELECT * FROM name WHERE name != “Bob” AND phone_number = ‘3444444’ order by phone_number; * Mostrar todos los registros que comienzan con la palabra ‘bob’ AND el número de teléfono ‘3444444’: SELECT * FROM name WHERE name like “Bob%” AND phone_number = ‘3444444’; * Usar una expresión regular para encontrar registros. Usar “REGEXP BINARY” para forzar la sensibilidad a las mayúsculas. Esto encuentra cualquier registro que comience con “a”: SELECT * FROM name WHERE rec RLIKE “^a$”; * Mostrar registros únicos: SELECT DISTINCT name FROM name; * Mostrar los registros seleccionados, ordenados en orden ascendente (asc) o descendente (desc): SELECT col1,col2 FROM name ORDER BY col2 DESC; * Devolver un número de filas: SELECT COUNT(*) FROM name; * Sumar el contenido de la columna: SELECT SUM(*) FROM name; * Unir tablas en columnas comunes: select lookup.illustrationid, lookup.personid,person.birthday from lookup left join person on lookup.personid=person.personid=statement to join birthday in person table with primary illustration id; * Cambiar a mysql db. Crear un nuevo usuario: INSERT INTO name (Host,User,Password) VALUES(‘%’,’user’,PASSWORD(‘password’)); * Cambiar la contraseña de un usuario (desde el shell de Unix): dir/bin/mysqladmin -u root -h hostname.blah.org -p password ‘new-password’ * Cambiar la contraseña de un usuario (desde el prompt de MySQL): SET PASSWORD FOR ‘user’@’hostname’ = PASSWORD(‘passwordhere’); * Permitir que el usuario “bob” se conecte con el servidor de localhost usando la contraseña “passwd”: grant usage on *.* to bob@localhost identified by ‘passwd’; * Cambiar a mysql db. Otorgar privilegios de usuario para una db: INSERT INTO name (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALUES (‘%’,’databasename’,’username’,’Y’,’Y’,’Y’,’Y’,’Y’,’N’); * Otra alternativa sería: grant all privileges on databasename.* to username@localhost; * Actualizar datos en una tabla: UPDATE name SET Select_priv = ‘Y’,Insert_priv = ‘Y’,Update_priv = ‘Y’ where name = 'user’; * Eliminar filas de una tabla: DELETE from name where name = ‘whatever’; * Actualizar base de datos permissions/privilages: FLUSH PRIVILEGES; * Eliminar una columna: alter table name drop column name; * Agregar una nueva columna de una base de datos: alter table name add column column name varchar (20); * Cambiar el nombre de una columna: alter table name change column name column name varchar (50); * Crear una columna única para no tener inconvenientes: alter table name add unique (name); * Hacer más grande una columna: alter table name modify name VARCHAR(3); * Eliminar una columna única de una tabla: alter table name drop index name; * Cargar un archivo CSV dentro de una tabla: LOAD DATA INFILE ‘/tmp/filename.csv’ replace INTO TABLE name FIELDS TERMINATED BY ‘,’LINES TERMINATED BY ‘n’ (field1,field2,field3); * Volcar todas las bases de datos en una copia de seguridad. El backup posee comandos sql para recrear todos las db: dir/bin/mysqldump -u root -ppassword –opt >/tmp/alldatabases.sql * Volcar una base de datos para el back up: dir/bin/mysqldump -u username -ppassword –databases databasename >/tmp/databasename.sql * Volver una tabla de una base de datos: dir/bin/mysqldump -c -u username -ppassword databasename tablename > /tmp/databasename.tablename.sql * Restaurar una base de datos (o tabla) de un backup: dir/bin/mysql -u username -ppassword databasename < /tmp/databasename.sql * Crear una tabla de ejemplo 1: CREATE TABLE name (firstname VARCHAR(20), middleinitial VARCHAR(3), lastname VARCHAR(35),suffix VARCHAR(3),officeid VARCHAR(10),userid VARCHAR(15),username VARCHAR(8),email VARCHAR(35),phone VARCHAR(25), groups VARCHAR(15),datestamp DATE,timestamp time,pgpemail VARCHAR(255)); * Crear una tabla de ejemplo 2: create table name (personid int(50) not null auto_increment primary key,firstname varchar(35),middlename varchar(50),lastnamevarchar(50) default ‘bato’);